
// "addtask" Function to handle forms
//form change handler
targetName = target.get("name");
inputValues = form.get("values");
option = List();
actions = list();
if(targetName.equalsIgnoreCase("portals"))
{
	portalID = inputValues.get("portals").get("value");
	res = invokeurl
	[
		url :"https://projectsapi.zoho.com/restapi/portal/" + portalID + "/projects/"
		type :GET
		connection:"ENTER YOUR CONNECTION NAME"
	];
	if(!res.get("projects").isEmpty())
	{
		projects = res.get("projects");
		for each  project in projects
		{
			entry = Map();
			entry.put("label",project.get("name"));
			entry.put("value",project.get("id"));
			option.add(entry);
		}
		actions.add({"type":"add_after","name":"portals","input":{"type":"select","name":"project","label":"Project","hint":"All projects from the selected portal are listed here","placeholder":"Pick a project","mandatory":true,"value":"list","options":option,"trigger_on_change":true}});
	}
	else
	{
		actions.add({"type":"remove","name":"project"});
	}
}
if(targetName.equalsIgnoreCase("project"))
{
	portalID = inputValues.get("portals").get("value");
	projectID = inputValues.get("project").get("value");
	res = invokeurl
	[
		url :"https://projectsapi.zoho.com/restapi/portal/" + portalID + "/projects/" + projectID + "/tasklists/?flag=internal"
		type :GET
		connection:"ENTER YOUR CONNECTION NAME"
	];
	if(!res.get("tasklists").isEmpty())
	{
		tasklists = res.get("tasklists");
		for each  tasklist in tasklists
		{
			entry = Map();
			entry.put("label",tasklist.get("name"));
			entry.put("value",tasklist.get("id"));
			option.add(entry);
		}
		actions.add({"type":"add_after","name":"project","input":{"type":"select","name":"tasklist","label":"Task List","hint":"All task list of the selected project are listed here","placeholder":"Choose a task list","mandatory":true,"value":"list","options":option}});
	}
	else
	{
		actions.add({"type":"remove","name":"tasklist"});
	}
}
return {"type":"form_modification","actions":actions};
